<html>
<body>
<h1>Javac Plugin</h1>

<div id="content-after">
<hr/>
<h2>Available Properties</h2>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
    <td valign="top"><b>Property</b></td>
    <td valign="top"><b>Description</b></td>
    <td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
    <td valign="top">bootClassPath</td>
    <td valign="top">Location of bootstrap class files.</td>
    <td align="center" valign="top">No</td>
</tr>

<tr>
    <td valign="top">bootClassPathRef</td>

    <td valign="top">Location of bootstrap class files, given as a
        <a href="../using.html#references">reference</a> to a path defined elsewhere.
    </td>
    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">extDirs</td>
    <td valign="top">Location of installed extensions.</td>

    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">encoding</td>
    <td valign="top">Encoding of source files. (Note: gcj doesn't support
        this option yet.)
    </td>
    <td align="center" valign="top">No</td>
</tr>

<tr>
    <td valign="top">noWarn</td>
    <td valign="top">Indicates whether the <code>-nowarn</code> switch
        should be passed to the compiler; defaults to <code>off</code>.
    </td>
    <td align="center" valign="top">No</td>
</tr>

<tr>
    <td valign="top">debug</td>
    <td valign="top">Indicates whether source should be compiled with
        debug information; defaults to <code>off</code>. If set to
        <code>off</code>, <code>-g:none</code> will be passed on the
        command line for compilers that support it (for other compilers, no
        command line argument will be used). If set to <code>true</code>,
        the value of the <code>debugLevel</code> attribute determines the
        command line argument.
    </td>

    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">debugLevel</td>
    <td valign="top">Keyword list to be appended to the <code>-g</code>
        command-line switch. This will be ignored by all implementations except
        <code>modern</code>, <code>classic(ver &gt;= 1.2)</code> and <code>jikes</code>.
        Legal values are <code>none</code> or a comma-separated list of the
        following keywords:
        <code>lines</code>, <code>vars</code>, and <code>source</code>.
        If <code>debugLevel</code> is not specified, by default,
        nothing will be
        appended to <code>-g</code>. If <code>debug</code> is not turned on,
        this attribute will be ignored.
    </td>

    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">optimize</td>
    <td valign="top">
        Indicates whether source should be compiled with
        optimization; defaults to <code>off</code>. <strong>Note</strong>

        that this flag is just ignored by Sun's <code>javac</code> starting
        with JDK 1.3 (since compile-time optimization is unnecessary).
    </td>
    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">deprecation</td>
    <td valign="top">Indicates whether source should be compiled with
        deprecation information; defaults to <code>off</code>.
    </td>

    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">target</td>
    <td valign="top">Generate class files for specific VM version
        (e.g., <code>1.1</code> or <code>1.2</code>). <b>Note that the
        default value depends on the JVM that is running Ant. In
        particular, if you use JDK 1.4+ the generated classes will not be
        usable for a 1.1 Java VM unless you explicitly set this attribute
        to the value 1.1 (which is the default value for JDK 1.1 to
        1.3). We highly recommend to always specify this
        attribute.</b><br/>

        A default value for this attribute can be provided using the magic
        <a
                href="../javacprops.html#target"><code>ant.build.javac.target</code></a>
        property.
    </td>
    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">verbose</td>

    <td valign="top">Asks the compiler for verbose output; defaults to
        <code>no</code>.
    </td>
    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">depend</td>
    <td valign="top">Enables dependency-tracking
        for compilers that support this (<code>jikes</code> and
        <code>classic</code>).
    </td>

    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">includeAntRuntime</td>
    <td valign="top">Whether to include the Ant run-time libraries in the
        classpath; defaults to <code>yes</code>.
    </td>
    <td align="center" valign="top">No</td>

</tr>
<tr>
    <td valign="top">includeJavaRuntime</td>
    <td valign="top">Whether to include the default run-time
        libraries from the executing VM in the classpath;
        defaults to <code>no</code>.
    </td>
    <td align="center" valign="top">No</td>
</tr>

<tr>
    <td valign="top">fork</td>
    <td valign="top">Whether to execute <code>javac</code> using the
        JDK compiler externally; defaults to <code>no</code>.
    </td>
    <td align="center" valign="top">No</td>
</tr>

<tr>
    <td valign="top">executable</td>
    <td valign="top">Complete path to the <code>javac</code>
        executable to use in case of <code>fork=&quot;yes&quot;</code>.
        Defaults to the compiler of the Java version that is currently
        running Ant. Ignored if <code>fork=&quot;no&quot;</code>.<br/>

        Since Ant 1.6 this attribute can also be used to specify the
        path to the executable when using jikes, jvc, gcj or sj.
    </td>
    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">memoryInitialSize</td>
    <td valign="top">The initial size of the memory for the underlying VM,
        if <code>javac</code> is run externally; ignored otherwise. Defaults
        to the standard VM memory setting.
        (Examples: <code>83886080</code>, <code>81920k</code>, or
        <code>80m</code>)
    </td>

    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">memoryMaximumSize</td>
    <td valign="top">The maximum size of the memory for the underlying VM,
        if <code>javac</code> is run externally; ignored otherwise. Defaults
        to the standard VM memory setting.
        (Examples: <code>83886080</code>, <code>81920k</code>, or
        <code>80m</code>)
    </td>

    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">failOnError</td>
    <td valign="top">Indicates whether compilation errors
        will fail the build; defaults to <code>true</code>.
    </td>
    <td align="center" valign="top">No</td>

</tr>
<tr>
    <td valign="top">source</td>

    <td valign="top">Value of the <code>-source</code> command-line
        switch; will be ignored by all implementations prior to
        <code>javac1.4</code> (or <code>modern</code> when Ant is not
        running in a 1.3 VM) and <code>jikes</code>.<br/> If you use this
        attribute together with <code>jikes</code>, you must make sure
        that your version of jikes supports the <code>-source</code>

        switch. By default, no <code>-source</code> argument will be used
        at all.<br/>
        <b>Note that the default value depends on the JVM that is running
            Ant. We highly recommend to always specify this
            attribute.</b><br/>
        A default value for this attribute can be provided using the magic
        <a
                href="../javacprops.html#source"><code>ant.build.javac.source</code></a>
        property.
    </td>

    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">compiler</td>
    <td valign="top">The compiler implementation to use.
        If this attribute is not set, the value of the
        <code>build.compiler</code> property, if set, will be used.
        Otherwise, the default compiler for the current VM will be used.
        (See the above <a href="#compilervalues">list</a> of valid
        compilers.)
    </td>

    <td align="center" valign="top">No</td>
</tr>
<tr>
    <td valign="top">listFiles</td>
    <td valign="top">Indicates whether the source files to be compiled will
        be listed; defaults to <code>no</code>.
    </td>
    <td align="center" valign="top">No</td>

</tr>
<tr>
    <td valign="top">tempDir</td>
    <td valign="top">Where Ant should place temporary files.
        This is only used if the task is forked and the
        command line args length exceeds 4k.
        <em>Since Ant 1.6</em>.
    </td>
    <td align="center" valign="top">
        No; default is <i>java.io.tmpdir</i>.
    </td>

</tr>
</table>
</div>
</body>
</html>